package biolabs.core

/**
 * {@code Schedule} is used to schedule the actions and interactions.
 * It is a (possibly infinite) sequence of time instants at which
 * the (inter)action should be performed.
 */
trait Schedule {

	/**
	 * Indicates whether there are more time instants in this schedule.
	 */
	def hasNext(): Boolean

	/**
	 * Returns the next time instant at which to perform an (inter)action.
	 */
	def next(): Long
}